草庐IT

mysql GRANT + WHERE

全部标签

php - Codeigniter 使用 where_not_in 获取数据

这是我想要达到的目标我有两张table交货和付款所以我想显示不在支付表中但存在于交付表中的数据,如您所见,支付表有[del_id]2和3。所以我正在尝试获取[delivery_id]1。但一些它如何获取[delivery_id]2。这是模型代码publicfunctionnoPayment_tables(){$query=$this->db->query('SELECTdel_idFROMpayments');foreach($query->result_array()as$row){echo$row['del_id'];}$this->db->select('*');$this->d

mysql - 选择具有三个 where 条件的查询较慢,但具有三个 where 条件中的任意两个组合的相同查询很快

我有以下查询:SELECTtable_1.idFROMtable_1LEFTJOINtable_2ON(table_1.id=table_2.id)WHEREtable_1.col_condition_1=0ANDtable_1.col_condition_2NOTIN(3,4)AND(table_2.idisNULLORtable_1.date_col>table_2.date_col)LIMIT5000;我有以下键和索引:table_1.id主键。table_1.col_condition_1上的索引table_1.col_condition_2上的索引table_1.col_co

php - 如何根据where条件值创建mysql查询结果?

我想要这样的输出IDStatus100Viewed103NotViewed105Viewed这是我的sql:selectid,statusfromstatus_tablewhereIDin(100,101,102,103,104,105);它会显示上面的结果,因为在状态表中其他ids没有任何条目。ID是另一个名为table_file表的表的外键。它包含在另一个数据库中。因此,由于某些性能问题,我无法加入该表。因此,我将文件ID作为逗号分隔值传递。但我想要这种结果如何在不使用任何循环的情况下创建它。IDStatus100Viewed101Not102Not103Viewed104Not1

mysql - 使用全文索引和其他 where 条件进行高效查询

我的问题如下:我有一个包含2300万行(1年数据)的邮件消息表。下面是这张表的重要字段id(bigint)msgtimeutc(bigint)主题(小文本)正文(正文)一些其他需要展示的数据我有这张表的全文索引:CREATEFULLTEXTINDEXmailmessage_fulltextONmailmessage(body,subject)我需要像这样在msgtimeutc上搜索正文和主题中的文本并按日期时间缩小请求:SELECTM.some_dataFROMmailmessageMWHEREM.MSGTIMEUTC>=1343651965ANDM.MSGTIMEUTCMySQL不能

php - Doctrine createQueryBuilder 多条件 where 语句有点笨拙

我有一个itemid和一个类别id,它们都是有条件的。如果没有给出,则所有项目都显示为最新的拳头。如果给出了itemid,则仅显示id低于给定id的项目(用于分页)。如果给出类别ID,则仅显示特定类别中的项目,如果同时给出两者,则仅显示特定类别的项目,其中显示项目ID小于itemid的项目(下一页的项目)。因为参数是有条件的,所以在构建SQL字符串时,您会得到很多取决于参数的if语句(伪代码,我正在用php的东西耗尽我的美元符号):ifitemid'wherei.iid如果给出更多可选参数,这将变得非常困惑,所以我想我应该试试createQueryBuilder。希望是这样的:if($

mysql - 如何避免在 sql SELECT 和 WHERE 中出现相同的表达式?

有没有一种方法可以避免在查询中两次写入表达式,例如我示例中的表达式?SELECTMATCH(test)AGAINST("str"INBOOLEANMODE)AStestRelevance,.......FROMmytableWHERE.......MATCH(test)AGAINST("str"INBOOLEANMODE)>0我已经试过了SELECTMATCH(test)AGAINST("str"INBOOLEANMODE)AStestRelevance,.......FROMmytableWHERE.......HAVINGtestRelevance>0但这对大表不利(显然仅在某些情

where子句中的MySQL未知列?

我有两个数据库。一个名为INFO,包含三个表(Stories、Comments、Replies)Stories有以下字段+--------------+----------------+------+-----+---------------------+-----------------------------+|Field|Type|Null|Key|Default|Extra|+--------------+----------------+------+-----+---------------------+-----------------------------+|stor

mysql - WHERE in(子查询)子句 yii

我有一个像这样的mysql查询(SELECT`notification`.`id`,`notification`.`user_id`AS`user_id`,`notification`.`activity_type`,`notification`.`source_id`,`event`.`title`assourceName,concat_ws("",v.firstname,v.lastname)asActorNameFROM`notification`INNERJOIN`event`ONevent.id=notification.source_idINNERJOIN`user`asv

MySQL CASE WHEN where 子句导致失败

我有一个复杂的查询,它在多个列中进行多次匹配,然后按相关性排序。一切正常,直到我添加WHERE'rank'>0这会返回一个空的结果集。如果我删除“WHERE”语句,那么我可以在顶部看到所有匹配度最高的结果。有人能帮我算出“WHERE”吗:-D我错了!!SELECT*,CASEWHENcompanyName='gfdgfs'THEN2ELSE0END+CASEWHENcompanyNameLIKE'%gfdgfs%'THEN1ELSE0END+CASEWHENcompanyName='potato'THEN2ELSE0END+CASEWHENcompanyNameLIKE'%potato

mysql - 如何在不使用子查询的情况下使用 where 条件选择不同的记录

我有一个具有以下模式的表(Id(intPK),EmployeeId(int),DepartmentId(int),IsSelfAccessToDepartment(bit))该表可以包含以下条目(1,101,21,1)(2,101,22,0)(3,102,21,1)(4,103,21,1)(5,103,22,0)我只想检索IsSelfAccessToDepartment=1的那些员工ID,即如果同一员工ID有另一个IsSelfAccessToDepartment=0的条目,在这种情况下不应检索该行。问题是我想在不使用任何子查询和连接的情况下检索此信息,因为它会产生性能问题,因为该表将包